Data processing apparatus with adaptive compression/de-compression algorithm selection for data communication over camera interface and related data processing method

ABSTRACT

A data processing apparatus has a compressor and an output interface. The compressor generates an output multimedia data according to an input multimedia data. The output interface packs the output multimedia data into an output bitstream, and outputs the output bitstream to another data processing apparatus via a camera interface. The camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI). In addition, the compressor adaptively adjusts a compression algorithm according to context characteristics in the input multimedia data, power supply status, operational status of a storage device, image capture characteristic, configuration of the another data processing apparatus, and/or compression algorithm supported by the another data processing apparatus. Further, the another data processing apparatus adaptively adjusts a de-compression algorithm according to a compression algorithm supported by the compressor.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application No. 61/729,426, filed on Nov. 23, 2012 and incorporated herein by reference.

BACKGROUND

The disclosed embodiments of the present invention relate to transmitting and receiving multimedia data over a camera interface, and more particularly, to a data processing apparatus with adaptive compression/de-compression algorithm selection for data communication over a camera interface and related data processing method.

A camera interface is disposed between a first chip and a second chip to transmit multimedia data from the first chip to the second chip for further processing. For example, the first chip may include a camera module, and the second chip may include an image signal processor (ISP). The multimedia data may include image data (i.e., a single captured image) or video data (i.e., a video sequence composed of captured images). When a camera sensor with a higher resolution is employed in the camera module, the multimedia data transmitted over the camera interface would have a larger data size/data rate, which increases the power consumption of the camera interface inevitably. If the camera module and the ISP are both located at a portable device (e.g., a smartphone) powered by a battery device, the battery life is shortened due to the increased power consumption of the camera interface. Thus, there is a need for an innovative design which can effectively reduce the power consumption of the camera interface.

SUMMARY

In accordance with exemplary embodiments of the present invention, a data processing apparatus with adaptive compression/de-compression algorithm selection for data communication over a camera interface and related data processing method are proposed.

According to one aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes a compressor and an output interface. The compressor is arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data. The output interface is arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI). In addition, the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to context characteristics of the input multimedia data.

According to another aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes a compressor and an output interface. The compressor is arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data. The output interface is arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI). In addition, the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to a power supply status.

According to another aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes a compressor and an output interface. The compressor is arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data. The output interface is arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI). In addition, the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to an operational status of a storage device.

According to another aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes a compressor and an output interface. The compressor is arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data. The output interface is arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI). In addition, the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to at least one image capture characteristic.

According to another aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes a compressor and an output interface. The compressor is arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data. The output interface is arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream to another data processing apparatus via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI). In addition, the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to a de-compression algorithm supported by the another data processing apparatus.

According to another aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes an input interface and a de-compressor. The input interface is arranged for receiving an input bitstream from another data processing apparatus via a camera interface, and un-packing the input bitstream into an input multimedia data, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI). The de-compressor is arranged for generating a de-compressed multimedia data according to the input multimedia data when the input multimedia data is a compressed multimedia data. In addition, the de-compressor adaptively adjusts a de-compression algorithm according to a compression algorithm employed by the another data processing apparatus.

According to another aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes at least the following steps: receiving an input multimedia data; adaptively adjusts a compression algorithm according to context characteristics of the input multimedia data; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).

According to another aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes at least the following steps: receiving an input multimedia data; adaptively adjusting a compression algorithm according to a power supply status; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).

According to another aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes at least the following steps: receiving an input multimedia data; adaptively adjusting a compression algorithm according to an operational status of a storage device; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).

According to another aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes at least the following steps: receiving an input multimedia data; adaptively adjusting a compression algorithm according to at least one image capture characteristic; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).

According to another aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes at least the following steps: receiving an input multimedia data; adaptively adjusting a compression algorithm according to a de-compression algorithm supported by a data processing apparatus; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream to the data processing apparatus via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).

According to another aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes at least the following steps: receiving an input bitstream from a data processing apparatus via a camera interface, and un-packing the input bitstream into an input multimedia data, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI); adaptively adjusting a de-compression algorithm according to a compression algorithm employed by the data processing apparatus; and when the input multimedia data is a compressed multimedia data, generating a de-compressed multimedia data according to the input multimedia data and the de-compression algorithm.

These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a data processing system according to an embodiment of the present invention.

FIG. 2 is a table showing characteristics of different compression algorithms supported by the compressor shown in FIG. 1.

FIG. 3 is a diagram illustrating an embodiment of the compressor shown in FIG. 1.

FIG. 4 is a diagram illustrating one frame included in the input multimedia data.

FIG. 5 is a flowchart illustrating an adaptive compression method based on context characteristics of the input multimedia data according to an embodiment of the present invention.

FIG. 6 is a diagram illustrating another embodiment of the compressor shown in FIG. 1.

FIG. 7 is a diagram illustrating thresholds of the battery capacity of the battery device.

FIG. 8 is a flowchart illustrating an adaptive compression method based on a power supply status according to an embodiment of the present invention.

FIG. 9 is a diagram illustrating thresholds of the bandwidth of the storage device.

FIG. 10 is a flowchart illustrating an adaptive compression method based on an operating status of a storage device according to an embodiment of the present invention.

FIG. 11 is a flowchart illustrating an adaptive compression method based on at least one image capture characteristic according to an embodiment of the present invention.

FIG. 12 is a diagram illustrating configuration of a compressor in a camera module and configuration of a de-compressor in an ISP according to an embodiment of the present invention.

FIG. 13 is a flowchart illustrating an adaptive compression and de-compression method based on side information communicated between a camera module and an ISP according to an embodiment of the present invention.

DETAILED DESCRIPTION

Certain terms are used throughout the description and following claims to refer to particular components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following description and in the claims, the terms “include” and “comprise” are used in an open-ended fashion, and thus should be interpreted to mean “include, but not limited to . . . ”. Also, the term “couple” is intended to mean either an indirect or direct electrical connection. Accordingly, if one device is coupled to another device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.

The present invention proposes applying data compression to a multimedia data and then transmitting a compressed multimedia data over a camera interface. As the data size/data rate of the compressed multimedia data is smaller than that of the original un-compressed multimedia data, the power consumption of the camera interface is reduced correspondingly. Besides, the present invention further proposes an adaptive compression/de-compression scheme which is based on side information given by one or more signal processing elements (e.g., an image signal processor (ISP), a video/image codec, a graphic engine, a display processor, an external storage, and a battery meter). This may allow the configuration of the compressor and the counterpart de-compressor to be adjusted in a static or dynamic way. In general, data compression is exploited to remove the information redundancy under a specific pixel size (i.e., a unit size of compression) and produce a compressed data constrained by a compression ratio. In a case where the compression ratio is equal to 0.5, the size of the compressed data is half of the size of the uncompressed data. As the compression performance is strongly related to some design factors such as the unit size of compression and the constrained compression ratio, the present invention therefore proposes using the adaptive compression scheme for enabling a compression algorithm selected from a plurality of candidate compression algorithms, where the selected compression algorithm most efficiently compresses the multimedia data. Compared to a typical compression scheme using a fixed compression algorithm, the proposed adaptive compression scheme achieves better performance. Besides, the ISP may refer to side information given by the camera module to adaptively select a de-compression algorithm compliant with the compression algorithm employed by the camera module. In this way, the compressed data stream from the camera module can be correctly de-compressed by the ISP. Further details will be described as below.

FIG. 1 is a block diagram illustrating a data processing system according to an embodiment of the present invention. The data processing system 100 includes a plurality of data processing apparatuses such as a camera module 110 external to an application processor 102 and an image signal processor (ISP) 114 included in the application processor 102. The camera module 110 and the ISP 114 may be implemented in different chips, and the camera module 110 communicates with the ISP 114 via a camera interface 103. Alternatively, the ISP 114 may be integrated within the camera module 110, and a single chip having the ISP 114 and the camera module 110 included therein communicates with another data processing apparatus in the application processor 102 via the camera interface 103. In this embodiment, the camera interface 103 may be a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).

The camera module 110 is coupled to the camera interface 103, and supports un-compressed data transmission and compressed data transmission. When the camera module 110 is used to transmit un-compressed data to the ISP 114, the camera module 110 generates an un-compressed multimedia data, and transmits the un-compressed multimedia data over the camera interface 103. When the camera module 110 is used to transmit compressed data to the ISP 114, the camera module 110 generates a compressed multimedia data, and transmits the compressed multimedia data over the camera interface 103.

As shown in FIG. 1, the camera module 110 includes a compressor 142, other circuitry 144, and an output interface 146. Other circuitry 144 includes circuit elements required for capturing incident light to obtain an input multimedia data D1. For example, other circuitry 144 may have a lens module, a camera sensor, a camera controller, a camera buffer, multiplexer(s), etc. When the camera module 110 is operated in the compression mode, the compressor 142 performs data compression upon the input multimedia data D1 generated from other circuitry 144, and accordingly generates an output multimedia data D1′, wherein the compressed multimedia data (i.e., output multimedia data D1′) is packed/packetized into an output bitstream by the output interface 146 according to the transmission protocol of the camera interface 103, and the output bitstream is transmitted to the ISP 114 via the camera interface 103.

Regarding the ISP 114, it is coupled to the camera interface 103, and supports un-compressed data reception and compressed data reception. When the camera module 110 transmits the un-compressed data to the ISP 114, the ISP 114 is operated under a non-decompression mode to receive an un-compressed data from the camera interface 103 and generate a processed multimedia data according to the un-compressed multimedia data. When the camera module 110 transmits the compressed data to the ISP 114, the ISP 114 is operated under a de-compression mode to receive a compressed multimedia data from the camera interface 103 and generate the processed multimedia data according to a de-compressed multimedia data derived from de-compressing the compressed multimedia data. If there is no error introduced during the data transmission, the un-compressed data transmitted under the non-compression mode should be identical to the un-compressed data received under the non-decompression mode, and the compressed data transmitted under the compression mode should be identical to the compressed data received under the de-compression mode.

As shown in FIG. 1, the ISP 114 includes a de-compressor 132, other circuitry 134, and an input interface 136. The input interface 136 receives an input bitstream from the camera interface 103, and un-packs/un-packetizes the input bitstream into an input multimedia data D2 which is a compressed multimedia data when the camera module 110 is operated under the compression mode. In this embodiment, the de-compressor 132 is arranged to perform data de-compression upon the input multimedia data D2, and accordingly generate a de-compressed multimedia data D2′. Other circuitry 134 is arranged to generate a processed multimedia data according to the de-compressed multimedia data D2′. Specifically, other circuitry 134 includes circuit elements required for generating the processed multimedia data according to an internal transmission mode (e.g., an on-the-fly mode or an off-line mode). For example, other circuitry 134 may have a write direct memory access (DMA) controller, a read DMA controller, an image processor, multiplexers, etc.

As the present invention focuses on the adaptive compression and de-compression scheme for configuring the compressor 142 and the de-compressor 132, further details directed to transmitting compressed/un-compressed multimedia data from the camera module 110 to the ISP 114 via the camera interface 103 and generating the processed multimedia data based on the compressed/un-compressed multimedia data received from the camera interface 103 are omitted here for brevity.

As shown in FIG. 1, the application processor 102 further includes a micro control unit (MCU) 112, an image encoder 116, an image decoder 118, a display processor 120, a video encoder 122, a video decoder 124, a graphic engine 126, and a battery meter 130. The battery meter 130 is arranged to monitor the power status of a power source such as the battery capacity of a battery device 109. In this embodiment, the camera module 110 and other data processing apparatuses shown in FIG. 1 are powered by the battery device 109. The MCU 112 serves as a display controller used for controlling generation of a display data, and therefore controls circuit elements within the application processor 102 to generate a desired display data to the driver IC 104. In other words, the MCU 112 controls the operation of the application processor 102. The ISP 114 serves as a backend processor for an image/video output of the camera module 110. For example, the ISP 114 may be used to perform auto white balance (AWB), auto exposure (AE) and auto focus (AF). In a case where the camera module 110 generates a single captured image to the ISP 114 under a photo mode, a processed image generated from the ISP 114 may be transmitted to the image encoder 116, and an encoded image is generated from the image encoder 116 to an external storage 108 such as a dynamic random access memory (DRAM). In another case where the camera module 110 generates a video sequence composed of successive captured images to the ISP 114 under a video recording mode, a processed video generated from the ISP 114 may be transmitted to the video encoder 122, and an encoded video is generated from the video encoder 122 to the external storage 108.

The image decoder 118 receives an encoded image from the external storage 108, and generates a decoded image to the display processor 120. The video decoder 124 receives an encoded video from the external storage 108, and generates a decoded video to the display processor 120. However, it is possible that the single captured image/video sequence generated from the ISP 114 may be bypassed to the display processor 120 without additional encoding and decoding operations applied thereto. The graphic engine 126 generates graphic data (e.g., a 3D graphic image) to the display processor 120.

The display processor 120 is arranged to generate a display data based on one or more of the image data, video data, graphic data, etc., and transmit the display data to a driver integrated circuit (IC) 104. Hence, the display data generated at the application processor 102 is derived from the output multimedia D1′ transmitted from the camera module 110 to the ISP 114 via the camera interface 103. For example, the display processor 120 may combine video data, text data and graphic data to generate a multimedia data of a frame, such that the display of the frame would show a graphic scene, a web-browsing text content, and a video playback content. The driver IC 104 is coupled between the display processor 120 and a display panel 106, and drives the display panel 106 according to the display data generated from the display processor 120. By way of example, the display panel 106 may be implemented using any 2D/3D display device (e.g. a retina display), and the pixel arrangement may be a rectangle layout, a triangle layout or a pentile layout.

In this embodiment, the compressor 142 supports a plurality of compression algorithms having different compression characteristics. Please refer to FIG. 2, which is a table showing characteristics of different compression algorithms supported by the compressor 142 shown in FIG. 1. A compression algorithm represents a set of coding tools so as to remove the data redundancy on the input multimedia data D1. The coding tools may be any kind of compression methods developed by proprietary algorithms or specified by state-of-the-art video standards (e.g., MPEG-1/2/4, H.261/262/263/264, and HEVC) or image standards (e.g., PEG, JPEG-1s, JPEG-2000, JPEG-XR, PNG, and GIF). As shown in FIG. 2, these compression algorithms indicate different capability of compression performance in terms of compression ratio, compression efficiency, compression complexity, and power dissipation. Specifically, the compression efficiency is the ability of a compression algorithm to encode the input multimedia data D1 at the lowest possible bit rate while maintaining a certain level of visual quality. There are two standard ways to measure the compression efficiency of a compression algorithm. One is to use an objective metric, such as a peak signal-to-noise ratio (PSNR). The other is to use a subjective assessment of video/image quality. If the compression efficiency of a compression algorithm is high, it means that the compression algorithm can preserve more input data information after compression is performed under a certain compression ratio. If the compression efficiency of a compression algorithm is low, it means that the compression algorithm will lose more input data information after compression is performed under a certain compression ratio. Hence, a high compression efficiency algorithm can preserve more input data information under a certain compression ratio, and the de-compressed multimedia data can have better visual appearance and visual quality.

The compressor 142 is capable of adaptively adjusting a compression algorithm applied to the input multimedia data D1 according to at least the side information shown as dotted lines in FIG. 1, where the side information may be provided by at least one of external storage 108, ISP 114, image encoder 116, video encoder 122, display processor 120, graphic engine 126, and battery meter 130. As the compressor 142 refers to the side information to select an adequate compression algorithm from supported compression algorithms having different compression characteristics, the compression performance can be optimized. For better understanding of technical features of the present invention, several embodiments are illustrated as below.

In a first exemplary embodiment, the compressor 142 may adaptively adjust a compression algorithm applied to the input multimedia data D1 according to context characteristics of the input multimedia data D1. Please refer to FIG. 3, which is a diagram illustrating an embodiment of the compressor 142 shown in FIG. 1. As shown in FIG. 3, the compressor 142 includes a content analysis unit 202 and a compression unit 204. The content analysis unit 202 receives the input multimedia data D1 and side information SI, where the side information SI may include information provided by the display processor 120, the image encoder 116, the video encoder 122, and/or the graphic engine 126. In one exemplary design, the content analysis unit 202 may be configured to analyze the input multimedia data D1 to classify contents included in the input multimedia data D1, and accordingly generate a content classification result CR. More specifically, the content analysis unit 202 could recognize the pixel data as text, graphic user interface (UI), video scene or image scene by detecting features in each received pixel unit of the input multimedia data D1, where the size of the pixel unit to be compressed may be any positive value based on actual design requirement/consideration.

The contents classified by the content analysis unit 202 may include a video content, an image content, a text content (i.e., a text-rich image content), and a graphic content. For example, the content analysis unit 202 could check if the received pixel unit is data generated by a video engine (e.g., video decoder 124) by comparing the characteristic of pixels with typical video data characteristics. If the characteristic of the pixels match the characteristic of video data, the content analysis unit 202 could classify the received pixel unit as data generated by the video engine (e.g., video decoder 124). In a similar way, the content analysis unit 202 could check if the received pixel unit is data generated by an image engine (e.g., image decoder 118) by comparing the characteristic of pixels with typical image data characteristics. Also, the content analysis unit 202 could check if the received pixel unit is data generated by the graphic engine 126 by matching it with several typical graphic data patterns such as monotonic repeated pixels, monotonic gradient color, and clear sharp edges. In another exemplary design, the content analysis unit 202 may refer to the side information SI to classify the contents of the input multimedia data D1 into video contents generated by the video engine (e.g., video decoder 124), image contents are generated by the image engine (e.g., image decoder 118), and graphic contents generated by the graphic engine 126.

The compression unit 204 is arranged for referring to the content classification result CR to adaptively adjust the compression algorithm employed. In this way, a content-aware compression based on the content classification result CR is achieved. FIG. 4 is a diagram illustrating one frame 302 included in the input multimedia data D1. The content classification result CR indicates that the frame 302 include graphic contents at a top portion of the frame 302, text contents at the bottom-left portion of the frame 302, and video contents at the bottom-right portion of the frame 302. After the classification procedure, compression algorithms N₁ and N₂ are selected when the received pixel units are classified as graphic content and image content, respectively. Compression algorithms N₃ and N₄ are dedicated to the data classified as video content, where compression algorithm N₃ is suitable for the high bit rate video content and compression algorithm N₄ is suitable for the low bit rate video content. Moreover, the compression algorithm N₆ is suitable for a text-rich image on web-browsing scenario. The compression algorithm N₅ is the default algorithm when none of above contents is detected. The classification of high bit rate content and low bit rate content may depend on the quantization parameter (QP) of a video bitstream such as an HEVC or H.264 encoded bitstream. When the QP is higher than a threshold, the input data is classified as low bit rate content; otherwise, it is high bit rate content. For example, when QP₁>THR, the compression algorithm N4 is employed by the compression unit 204; and when QP₂≦THR, the compression algorithm N₃ is employed by the compression unit 204. Another embodiment is to calculate the data variance of the input data. When the variance is higher than a threshold, the input data is classified as high bit rate content; otherwise, it is low bit rate content.

FIG. 5 is a flowchart illustrating an adaptive compression method based on context characteristics of the input multimedia data D1 according to an embodiment of the present invention. Provided that the result is substantially the same, the steps are not required to be executed in the exact order shown in FIG. 5. The exemplary adaptive compression method may be briefly summarized by following steps.

Step 400: Start.

Step 402: Apply a content classification to each received pixel unit included in the input multimedia data D1, and accordingly generate the content classification result CR.

Step 404: Check if the content classification result CR indicates that the received pixel unit is a video content. If yes, go to step 406; otherwise, go to step 412.

Step 406: Check if the content classification result CR indicates that the received pixel unit is a low bit rate content (e.g., QP>THR). If yes, go to step 408; otherwise, go to step 410.

Step 408: Apply the compression algorithm N₄. Go to step 426.

Step 410: Apply the compression algorithm N₃. Go to step 426.

Step 412: Check if the content classification result CR indicates that the received pixel unit is an image content. If yes, go to step 414; otherwise, go to step 416.

Step 414: Apply the compression algorithm N₂. Go to step 426.

Step 416: Check if the content classification result CR indicates that the received pixel unit is a text content. If yes, go to step 418; otherwise, go to step 420.

Step 418: Apply the compression algorithm N₆. Go to step 426.

Step 420: Check if the content classification result CR indicates that the received pixel unit is a graphic content. If yes, go to step 422; otherwise, go to step 424.

Step 422: Apply the compression algorithm N₁. Go to step 426.

Step 424: Apply the compression algorithm N₅.

Step 426: Check if all of the received pixel units included in the input multimedia data D1 have been processed. If yes, go to step 428; otherwise, go to step 404 to process the next received pixel unit.

Step 428: End.

It should be noted that step 402 is performed by the content analysis unit 202, and steps 404-426 are performed by the compression unit 204. As a person skilled in the art can readily understand details of each step shown in FIG. 5 after reading above paragraphs, further description is omitted here for brevity.

In a second exemplary embodiment, the compressor 142 may adaptively adjust a compression algorithm applied to the input multimedia data D1 according to a power supply status. As shown in FIG. 1, the camera module 110 and other data processing apparatuses are powered by the battery device 109, and the side information given by the battery meter 130 would include the power supply status indicative of an available battery capacity of the battery device 109. Please refer to FIG. 6, which is a diagram illustrating another embodiment of the compressor 142 shown in FIG. 1. The compressor 142 includes a comparison unit 502 and a compression unit 504. The comparison unit 502 receives side information SI from the battery meter 130. The comparison unit 502 compares the available battery capacity of the battery device 109 as indicated by the side information SI with at least one predetermined threshold to generate a comparison result CR′. The compression unit 504 supports a plurality of compression algorithms having different characteristics, and refers to the comparison result CR′ to select one of the supported compression algorithms for data compression. For example, as shown in FIG. 7, the comparison unit 502 employs a first predetermined threshold THR₁ and a second predetermined threshold THR₂, where THR₁>THR₂. The first predetermined threshold THR₁ is checked to see if the data compression can be disabled to avoid information loss caused by a lossy compression algorithm. More specifically, the compressor 142 is arranged to disable the data compression when the power supply status indicates that the available battery capacity is higher than the first predetermined threshold THR₁, and enable the data compression when the power supply status indicates that the available battery capacity is not higher than the first predetermined threshold THR₁. To put it another way, when the battery power is full or higher than the first predetermined threshold THR₁, the compression algorithm is disabled to get better visual quality; and when the battery power is lower than the first predetermined threshold THR₁, a compression algorithm is enabled to save power dissipation of the camera interface 103.

The second predetermined threshold THR₂ is checked to select one compression algorithm from supported compression algorithms having different characteristics. More specifically, the compressor 142 is arranged to employ the compression algorithm N₁ for compressing the input multimedia data D1 when the power supply status indicates that the available battery capacity is higher than the second predetermined threshold THR₂, and employ the compression algorithm N₂ for compressing the input multimedia data D1 when the power supply status indicates that the available battery capacity is not higher than the second predetermined threshold THR₂, where the compression algorithm N₁ is more complex than the compression algorithm N₂, and/or the compression algorithm N₁ has a higher compression efficiency than the compression algorithm N₂. To put it another way, when the battery power is almost full or higher than the second predetermined threshold THR₂, a more complex and higher compression efficiency algorithm can be selected by the compression unit 504 to get better visual quality; and when the battery power is almost empty or lower than the second predetermined threshold THR₂, a less complex and lower compression efficiency algorithm can be selected by the compression unit 504 to save power dissipation of the camera interface 103.

FIG. 8 is a flowchart illustrating an adaptive compression method based on a power supply status according to an embodiment of the present invention. Provided that the result is substantially the same, the steps are not required to be executed in the exact order shown in FIG. 8. The exemplary adaptive compression method may be briefly summarized by following steps.

Step 700: Start.

Step 702: Check if the battery is full. If yes, go to step 704; otherwise, go to step 706.

Step 704: Disable data compression.

Step 706: Check if the available battery capacity is higher than the first predetermined threshold THR₁. If yes, go to step 704; otherwise, go to step 708.

Step 708: Check if the available battery capacity is higher than the second predetermined threshold THR₂. If yes, go to step 710; otherwise, go to step 712.

Step 710: Apply the compression algorithm N₁. Go to step 714.

Step 712: Apply the compression algorithm N₂.

Step 714: End.

It should be noted that steps 702, 706, 708 are performed by the comparison unit 502, and steps 704, 710, 712 are performed by the compression unit 504. As a person skilled in the art can readily understand details of each step shown in FIG. 8 after reading above paragraphs, further description is omitted here for brevity.

In a third exemplary embodiment, the compressor 142 may adaptively adjust a compression algorithm applied to the input multimedia data D1 according to an operational status of a storage device such as the external storage 108. The side information SI given by the external storage 108 would include the operational status indicative of a used bandwidth of the external storage 108. Please refer to FIG. 6 again. In this embodiment, the comparison unit 502 receives the side information SI from the external storage 108. Next, the comparison unit 502 compares the used bandwidth of the external storage 108 as indicated by the side information SI with at least one predetermined threshold to generate the comparison result CR′. The compression unit 504 supports a plurality of compression algorithms having different characteristics, and refers to the comparison result CR′ to select one of the supported compression algorithms for data compression. For example, as shown in FIG. 9, the comparison unit 502 employs a first predetermined threshold THR₁ and a second predetermined threshold THR₂, where THR₁>THR₂. The second predetermined threshold THR₂ is checked to see if the data compression can be disabled to avoid information loss caused by a lossy compression algorithm. More specifically, the compressor 142 is arranged to disable the data compression when the side information SI indicates that the used bandwidth is lower than the second predetermined threshold THR₂, and enable the data compression when the side information SI indicates that the used bandwidth is not lower than the second predetermined threshold THR₂.

The first predetermined threshold THR₁ is checked to select one compression algorithm from candidate compression algorithms having different characteristics. More specifically, the compressor 142 is arranged to employ the compression algorithm N₁ for compressing the input multimedia data D1 when the side information SI indicates that the used bandwidth is lower than the first predetermined threshold THR₁, and employ the compression algorithm N₂ for compressing the input multimedia data D1 when the side information SI indicates that the used bandwidth is not lower than the first predetermined threshold THR₁, where the compression algorithm N₁ is more complex than the compression algorithm N₂, and/or the compression algorithm N₁ has a higher compression efficiency than the compression algorithm N₂. To put it another way, when the used bandwidth is lower than the first predetermined threshold THR₁, a more complex and higher compression efficiency algorithm can be selected by the compression unit 504 to get better visual quality; and when the bandwidth is almost used or the used bandwidth is not lower than the first predetermined threshold THR₁, a less complex and lower compression efficiency algorithm can be selected by the compression unit 504 to save power dissipation of the camera interface 103.

FIG. 10 is a flowchart illustrating an adaptive compression method based on an operating status of a storage device according to an embodiment of the present invention. Provided that the result is substantially the same, the steps are not required to be executed in the exact order shown in FIG. 10. The exemplary adaptive compression method may be briefly summarized by following steps.

Step 900: Start.

Step 902: Check if the bandwidth is not occupied yet. If yes, go to step 904; otherwise, go to step 906.

Step 904: Disable data compression. Go to step 914.

Step 906: Check if the used bandwidth is lower than the second predetermined threshold THR₂. If yes, go to step 904; otherwise, go to step 908.

Step 908: Check if the used bandwidth is lower than the first predetermined threshold THR₁. If yes, go to step 910; otherwise, go to step 912.

Step 910: Apply the compression algorithm N₁. Go to step 914.

Step 912: Apply the compression algorithm N₂.

Step 914: End.

It should be noted that steps 902, 906, 908 are performed by the comparison unit 502, and steps 904, 910, 912 are performed by the compression unit 504. As a person skilled in the art can readily understand details of each step shown in FIG. 10 after reading above paragraphs, further description is omitted here for brevity.

In a fourth exemplary embodiment, the compressor 142 may adaptively adjust a compression algorithm applied to the input multimedia data D1 according to at least one image capture characteristic. The ISP 114 may be configured to perform digital gain adjustment for a focus level, an exposure level, and an ISO (International Organization for Standardization) value. Hence, the side information SI given by the ISP 114 may include at least one of the focus level, the exposure level, and the ISO value. Please refer to FIG. 6 again. In this embodiment, the comparison unit 502 receives the side information SI from the ISP 114, and compares the side information SI with at least one predetermined threshold to generate the comparison result CR′. The compression unit 504 supports a plurality of compression algorithms having different characteristics, and refers to the comparison result CR′ to select one of the supported compression algorithms to achieve better compression performance or visual quality. For example, a blurred image is captured when the focus level is lower than a first predetermined threshold THR₁. Hence, the compression algorithm N₄ particularly designed for compressing the blurred image is selected by the comparison unit 502. An over-exposure or under-exposure image is obtained when the exposure level is out of a specific range delimited by a second predetermined threshold THR₂ and a third predetermined threshold THR₃, where THR₂>THR₃. Hence, the compression algorithm N₃ particularly designed to manipulate this kind of captured image is selected by the comparison unit 502. Alternatively, the over-exposure image and the under-exposure image may be processed by different compression algorithms. In addition, the ISO value from the ISP 114 can be exploited as side information since it impacts the noise level on the captured image. Specifically, the ISO value is positively correlated to the noise level. Hence, if the ISO value is not lower than a fourth predetermined threshold THR₄, a high ISO image can be compressed using the compression algorithm N₁ such that noise pixels can be properly considered during the compression. If the ISO value is lower than the fourth predetermined threshold THR₄, the compression algorithm N₂ is selected by the compression unit 504 to achieve better compression performance for the low ISO image.

FIG. 11 is a flowchart illustrating an adaptive compression method based on at least one image capture characteristic according to an embodiment of the present invention. Provided that the result is substantially the same, the steps are not required to be executed in the exact order shown in FIG. 11. The exemplary adaptive compression method may be briefly summarized by following steps.

Step 1000: Start.

Step 1002: Receive an image.

Step 1004: Check if the focus level of the image is lower than the first predetermined threshold THR₁. If yes, go to step 1006; otherwise, go to step 1008.

Step 1006: Apply the compression algorithm N₄. Go to step 1018.

Step 1008: Check if the exposure level of the image is higher than the second predetermined threshold THR₂ or lower than the third predetermined threshold THR₃. If yes, go to step 1010; otherwise, go to step 1012.

Step 1010: Apply the compression algorithm N₃. Go to step 1018.

Step 1012: Check if the ISO value of the image is lower than the fourth predetermined threshold THR₄. If yes, go to step 1014; otherwise, go to step 1016.

Step 1014: Apply the compression algorithm N₂. Go to step 1018.

Step 1016: Apply the compression algorithm N₁.

Step 1018: Check if all of the images have been processed. If yes, go to step 1020; otherwise, go to step 1002 to process the next image.

Step 1020: End.

It should be noted that steps 1004, 1008, 1012 are performed by the comparison unit 502, and steps 1002, 1006, 1010, 1014, 1016, 1018 are performed by the compression unit 504. As a person skilled in the art can readily understand details of each step shown in FIG. 11 after reading above paragraphs, further description is omitted here for brevity.

In a fifth exemplary embodiment, the compressor 142 may adaptively adjust a compression algorithm applied to the input multimedia data D1 according to a de-compression algorithm supported by the ISP 114, and the de-compressor 132 may adaptively adjust a de-compression algorithm applied to the input multimedia data D2 according to a compression algorithm supported by the camera module 110. Please refer to FIG. 12, which is a diagram illustrating a configuration of a compressor in a camera module and a configuration of a de-compressor in an ISP according to an embodiment of the present invention. Each of the camera modules 1302_1 and 1302_2 supports a plurality of compression algorithms, and the ISP 1304 supports a plurality of de-compression algorithms. When the ISP 1304 (e.g., ISP 114 shown in FIG. 1) is used to connect the camera module 1302_1 (e.g., camera module 110 shown in FIG. 1) via a camera interface 1303 (e.g., camera interface 103 shown in FIG. 1), the ISP 1304 sends side information to inform the camera module 1302_1 of the supported de-compression algorithms X′ and Y′. As the compression algorithm X supported by the camera module 1302_1 is compliant with the de-compression algorithm X′, the camera module 1302_1 therefore selects and enables the compression algorithm X of the compressor (e.g., compressor 142 shown in FIG. 1). In addition, the camera module 1302_1 sends side information to inform the ISP 1304 of the employed compression algorithm X. As the de-compression algorithm X′ supported by the ISP 1304 is compliant with the compression algorithm X, the ISP 1304 therefore selects and enables the de-compression algorithm X′ of the de-compressor (e.g., de-compressor 132 shown in FIG. 1).

The ISP 1304 may be used in a variety of applications, and therefore supports different de-compression algorithms. Thus, in one exemplary application, the ISP 1304 is used to connect the camera module 1302_1. However, in another application, the ISP 1304 is used to connect the camera module 1302_2. When the ISP 1304 is used to connect the camera module 1302_2 via the camera interface 1303, the ISP 1304 sends side information to inform the camera module 1302_2 of the supported de-compression algorithms X′ and Y′. As the compression algorithm Y supported by the camera module 1302_2 is compliant with the de-compression algorithm Y′, the camera module 1302_2 therefore selects and enables the compression algorithm Y of the compressor. In addition, the camera module 1302_2 sends side information to inform the ISP 1304 of the employed compression algorithm Y. As the de-compression algorithm Y′ supported by the ISP 1304 is compliant with the compression algorithm Y, the ISP 1304 therefore selects and enables the de-compression algorithm Y′ of the de-compressor.

FIG. 13 is a flowchart illustrating an adaptive compression and de-compression method based on side information communicated between a camera module and an ISP according to an embodiment of the present invention. Provided that the result is substantially the same, the steps are not required to be executed in the exact order shown in FIG. 13. The exemplary adaptive compression and de-compression method may be briefly summarized by following steps.

Step 1400: Start.

Step 1402: Receive side information of the ISP.

Step 1404: Refer to the ISP's side information to select and enable a compression algorithm compliant with a de-compression algorithm supported by the ISP.

Step 1406: Receive side information of the camera module.

Step 1408: Refer to the camera module's side information to select and enable a de-compression algorithm compliant with a compression algorithm employed by the camera module.

Step 1410: End.

It should be noted that steps 1402 and 1404 are performed by the camera module, and steps 1406 and 1408 are performed by the ISP. As a person skilled in the art can readily understand details of each step shown in FIG. 13 after reading above paragraphs, further description is omitted here for brevity.

Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims. 

What is claimed is:
 1. A data processing apparatus comprising: a compressor, arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data; and an output interface, arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI); wherein the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to context characteristics of the input multimedia data.
 2. The data processing apparatus of claim 1, wherein the compressor comprises: a content analysis unit, arranged for analyzing the input multimedia data to classify contents included in the input multimedia data and accordingly generating a content classification result; and a compression unit, arranged for referring to at least the content classification result to adaptively adjust the compression algorithm.
 3. The data processing apparatus of claim 2, wherein the contents are selected from a group consisting of a video content, an image content, a text content, and a graphic content.
 4. The data processing apparatus of claim 2, wherein the contents comprise a first content generated using a first quantization level and a second content generated using a second quantization level which is different from the first quantization level.
 5. The data processing apparatus of claim 2, wherein the contents comprise a first content with a first bit rate and a second content with a second bit rate which is different from the first bit rate.
 6. A data processing apparatus comprising: a compressor, arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data; and an output interface, arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI); wherein the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to a power supply status.
 7. The data processing apparatus of claim 6, wherein the data processing apparatus is powered by a battery device, and the power supply status indicates an available battery capacity of the battery device.
 8. The data processing apparatus of claim 7, wherein the compressor is arranged to employ a first compression algorithm as the compression algorithm when the power supply status indicates that the available battery capacity is higher than a predetermined threshold, and employ a second compression algorithm as the compression algorithm when the power supply status indicates that the available battery capacity is not higher than the predetermined threshold, where the second compression algorithm is different from the first compression algorithm.
 9. The data processing apparatus of claim 8, wherein the first compression algorithm is more complex than the second compression algorithm; or the first compression algorithm has a higher compression efficiency than the second compression algorithm.
 10. The data processing apparatus of claim 7, wherein the compressor is arranged to disable the compression algorithm when the power supply status indicates that the available battery capacity is higher than a predetermined threshold, and enable the compression algorithm when the power supply status indicates that the available battery capacity is not higher than the predetermined threshold.
 11. A data processing apparatus comprising: a compressor, arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data; and an output interface, arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI); wherein the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to an operational status of a storage device.
 12. The data processing apparatus of claim 11, wherein the operational status indicates a used bandwidth of the storage device.
 13. The data processing apparatus of claim 12, wherein the compressor is arranged to employ a first compression algorithm as the compression algorithm when the operational status indicates that the used bandwidth is lower than a predetermined threshold, and employ a second compression algorithm as the compression algorithm when the operational status indicates that the used bandwidth is not lower than the predetermined threshold, where the second compression algorithm is different from the first compression algorithm.
 14. The data processing apparatus of claim 13, wherein the first compression algorithm is more complex than the second compression algorithm; or the first compression algorithm has a higher compression efficiency than the second compression algorithm.
 15. The data processing apparatus of claim 12, wherein the compressor is arranged to disable the compression algorithm when the operational status indicates that the used bandwidth is lower than a predetermined threshold, and enable the compression algorithm when the operational status indicates that the used bandwidth is not lower than the predetermined threshold.
 16. A data processing apparatus comprising: a compressor, arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data; and an output interface, arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI); wherein the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to at least one image capture characteristic.
 17. The data processing apparatus of claim 16, wherein the at least one image capture characteristic includes at least one of a focus level, an exposure level, and an ISO (International Organization for Standardization) value.
 18. A data processing apparatus comprising: a compressor, arranged for receiving an input multimedia data and generating an output multimedia data according to the input multimedia data; and an output interface, arranged for packing the output multimedia data into an output bitstream, and outputting the output bitstream to another data processing apparatus via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI); wherein the compressor adaptively adjusts a compression algorithm applied to the input multimedia data according to a de-compression algorithm supported by the another data processing apparatus.
 19. A data processing apparatus comprising: an input interface, arranged for receiving an input bitstream from another data processing apparatus via a camera interface, and un-packing the input bitstream into an input multimedia data, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI); and a de-compressor, arranged for generating a de-compressed multimedia data according to the input multimedia data when the input multimedia data is a compressed multimedia data; wherein the de-compressor adaptively adjusts a de-compression algorithm according to a compression algorithm employed by the another data processing apparatus.
 20. A data processing method comprising: receiving an input multimedia data; adaptively adjusts a compression algorithm according to context characteristics of the input multimedia data; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 21. A data processing method comprising: receiving an input multimedia data; adaptively adjusting a compression algorithm according to a power supply status; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 22. A data processing method comprising: receiving an input multimedia data; adaptively adjusting a compression algorithm according to an operational status of a storage device; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 23. A data processing method comprising: receiving an input multimedia data; adaptively adjusting a compression algorithm according to at least one image capture characteristic; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 24. A data processing method comprising: receiving an input multimedia data; adaptively adjusting a compression algorithm according to a de-compression algorithm supported by a data processing apparatus; generating an output multimedia data according to the compression algorithm and the input multimedia data; and packing the output multimedia data into an output bitstream, and outputting the output bitstream to the data processing apparatus via a camera interface, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI).
 25. A data processing method comprising: receiving an input bitstream from a data processing apparatus via a camera interface, and un-packing the input bitstream into an input multimedia data, wherein the camera interface is a camera serial interface (CSI) standardized by a Mobile Industry Processor Interface (MIPI); adaptively adjusting a de-compression algorithm according to a compression algorithm employed by the data processing apparatus; and when the input multimedia data is a compressed multimedia data, generating a de-compressed multimedia data according to the input multimedia data and the de-compression algorithm. 